<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>CUTLASS: library.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="cutlass-logo-small.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">CUTLASS
   </div>
   <div id="projectbrief">CUDA Templates for Linear Algebra Subroutines and Solvers</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_4eeb864c4eec08c7d6b9d3b0352cfdde.html">tools</a></li><li class="navelem"><a class="el" href="dir_58e788c69476ee3a6457c1bb0aea7b40.html">library</a></li><li class="navelem"><a class="el" href="dir_7a8f757b2dc0884f3cac82bc42925c19.html">include</a></li><li class="navelem"><a class="el" href="dir_d7bba2bfce089ad47efd3f3908281e78.html">cutlass</a></li><li class="navelem"><a class="el" href="dir_4c6a163a0476cba0bed73ec4471f0808.html">library</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">library.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>CUTLASS Library is an object-oriented approach to managing operations implemented by CUTLASS.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;vector&gt;</code><br />
<code>#include &lt;string&gt;</code><br />
<code>#include &lt;cstdint&gt;</code><br />
<code>#include &lt;cuda_runtime.h&gt;</code><br />
<code>#include &quot;<a class="el" href="cutlass_8h_source.html">cutlass/cutlass.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="matrix__coord_8h_source.html">cutlass/matrix_coord.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="tensor__coord_8h_source.html">cutlass/tensor_coord.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="tensor_8h_source.html">cutlass/layout/tensor.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="include_2cutlass_2gemm_2gemm_8h_source.html">cutlass/gemm/gemm.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for library.h:</div>
<div class="dyncontent">
<div class="center"><img src="library_8h__incl.png" border="0" usemap="#library_8h" alt=""/></div>
<map name="library_8h" id="library_8h">
</map>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="library_8h__dep__incl.png" border="0" usemap="#library_8hdep" alt=""/></div>
<map name="library_8hdep" id="library_8hdep">
</map>
</div>
</div>
<p><a href="library_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1library_1_1MathInstructionDescription.html">cutlass::library::MathInstructionDescription</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1library_1_1TileDescription.html">cutlass::library::TileDescription</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure describing the tiled structure of a GEMM-like computation.  <a href="structcutlass_1_1library_1_1TileDescription.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1library_1_1OperationDescription.html">cutlass::library::OperationDescription</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">High-level description of an operation.  <a href="structcutlass_1_1library_1_1OperationDescription.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1library_1_1TensorDescription.html">cutlass::library::TensorDescription</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure describing the properties of a tensor.  <a href="structcutlass_1_1library_1_1TensorDescription.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1library_1_1GemmDescription.html">cutlass::library::GemmDescription</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Description of all GEMM computations.  <a href="structcutlass_1_1library_1_1GemmDescription.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcutlass_1_1library_1_1Operation.html">cutlass::library::Operation</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base class for all device-wide operations.  <a href="classcutlass_1_1library_1_1Operation.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1library_1_1GemmConfiguration.html">cutlass::library::GemmConfiguration</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configuration for basic GEMM operations.  <a href="structcutlass_1_1library_1_1GemmConfiguration.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1library_1_1GemmArguments.html">cutlass::library::GemmArguments</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Arguments for GEMM.  <a href="structcutlass_1_1library_1_1GemmArguments.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1library_1_1GemmBatchedConfiguration.html">cutlass::library::GemmBatchedConfiguration</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configuration for batched GEMM in which multiple matrix products are computed.  <a href="structcutlass_1_1library_1_1GemmBatchedConfiguration.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1library_1_1GemmArrayConfiguration.html">cutlass::library::GemmArrayConfiguration</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configuration for batched GEMM in which multiple matrix products are computed.  <a href="structcutlass_1_1library_1_1GemmArrayConfiguration.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1library_1_1GemmArrayArguments.html">cutlass::library::GemmArrayArguments</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Arguments for GEMM - used by all the GEMM operations.  <a href="structcutlass_1_1library_1_1GemmArrayArguments.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1library_1_1GemmPlanarComplexConfiguration.html">cutlass::library::GemmPlanarComplexConfiguration</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Complex valued GEMM in which real and imaginary parts are separated by a stride.  <a href="structcutlass_1_1library_1_1GemmPlanarComplexConfiguration.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcutlass_1_1library_1_1GemmPlanarComplexBatchedConfiguration.html">cutlass::library::GemmPlanarComplexBatchedConfiguration</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Batched complex valued GEMM in which real and imaginary parts are separated by a stride.  <a href="structcutlass_1_1library_1_1GemmPlanarComplexBatchedConfiguration.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacecutlass"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass.html">cutlass</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacecutlass_1_1library"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html">cutlass::library</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:aecb5cd6ac382defa94d53de8f7dec33e"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#aecb5cd6ac382defa94d53de8f7dec33e">cutlass::library::GemmBatchedArguments</a> = GemmArguments</td></tr>
<tr class="memdesc:aecb5cd6ac382defa94d53de8f7dec33e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Arguments to batched GEMM.  <a href="namespacecutlass_1_1library.html#aecb5cd6ac382defa94d53de8f7dec33e">More...</a><br /></td></tr>
<tr class="separator:aecb5cd6ac382defa94d53de8f7dec33e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16a05d7ff54038b350368f9bc7be7ca5"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#a16a05d7ff54038b350368f9bc7be7ca5">cutlass::library::GemmPlanarComplexArgments</a> = GemmArguments</td></tr>
<tr class="separator:a16a05d7ff54038b350368f9bc7be7ca5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a650232077584de019f081d61236238ae"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#a650232077584de019f081d61236238ae">cutlass::library::GemmPlanarComplexBatchedArguments</a> = GemmArguments</td></tr>
<tr class="separator:a650232077584de019f081d61236238ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:aa863c416529c1fe76555be9760619a30"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#aa863c416529c1fe76555be9760619a30">cutlass::library::LayoutTypeID</a> { <br />
&#160;&#160;<a class="el" href="namespacecutlass_1_1library.html#aa863c416529c1fe76555be9760619a30a25c2dc47991b3df171ed5192bcf70390">cutlass::library::LayoutTypeID::kUnknown</a>, 
<a class="el" href="namespacecutlass_1_1library.html#aa863c416529c1fe76555be9760619a30abbcb6d9641fe76477dcbe3b209efa7ca">cutlass::library::LayoutTypeID::kColumnMajor</a>, 
<a class="el" href="namespacecutlass_1_1library.html#aa863c416529c1fe76555be9760619a30a1ebc644af759b214a70279505401a0b9">cutlass::library::LayoutTypeID::kRowMajor</a>, 
<a class="el" href="namespacecutlass_1_1library.html#aa863c416529c1fe76555be9760619a30aa79cf5644f084b0e4ee32b52f0cc3a47">cutlass::library::LayoutTypeID::kColumnMajorInterleavedK4</a>, 
<br />
&#160;&#160;<a class="el" href="namespacecutlass_1_1library.html#aa863c416529c1fe76555be9760619a30a73a0304c98adfd29bc908335637ce82e">cutlass::library::LayoutTypeID::kRowMajorInterleavedK4</a>, 
<a class="el" href="namespacecutlass_1_1library.html#aa863c416529c1fe76555be9760619a30a6e2a33a60ac6f96ae7c9d21e018e1d0f">cutlass::library::LayoutTypeID::kColumnMajorInterleavedK16</a>, 
<a class="el" href="namespacecutlass_1_1library.html#aa863c416529c1fe76555be9760619a30a6e6ad573b4b1f3dc3cb13a77c7bc76dd">cutlass::library::LayoutTypeID::kRowMajorInterleavedK16</a>, 
<a class="el" href="namespacecutlass_1_1library.html#aa863c416529c1fe76555be9760619a30aac41b2fb91b88429aecccaf31b717c47">cutlass::library::LayoutTypeID::kTensorNCHW</a>, 
<br />
&#160;&#160;<a class="el" href="namespacecutlass_1_1library.html#aa863c416529c1fe76555be9760619a30a90f415c1bef303b8a2401e2b0d7ad89c">cutlass::library::LayoutTypeID::kTensorNHWC</a>, 
<a class="el" href="namespacecutlass_1_1library.html#aa863c416529c1fe76555be9760619a30ab10913c938482a8aa4ba85b7a1116cb4">cutlass::library::LayoutTypeID::kInvalid</a>
<br />
 }<tr class="memdesc:aa863c416529c1fe76555be9760619a30"><td class="mdescLeft">&#160;</td><td class="mdescRight">Layout type identifier.  <a href="namespacecutlass_1_1library.html#aa863c416529c1fe76555be9760619a30">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:aa863c416529c1fe76555be9760619a30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a366ecc865ac5b24cfdfd392199ba8e9e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#a366ecc865ac5b24cfdfd392199ba8e9e">cutlass::library::NumericTypeID</a> { <br />
&#160;&#160;<a class="el" href="namespacecutlass_1_1library.html#a366ecc865ac5b24cfdfd392199ba8e9ea25c2dc47991b3df171ed5192bcf70390">cutlass::library::NumericTypeID::kUnknown</a>, 
<a class="el" href="namespacecutlass_1_1library.html#a366ecc865ac5b24cfdfd392199ba8e9eabd383557eb16fc23863cf3fc70b77ab3">cutlass::library::NumericTypeID::kVoid</a>, 
<a class="el" href="namespacecutlass_1_1library.html#a366ecc865ac5b24cfdfd392199ba8e9ea25069789ea555310ce562cd8d893adb3">cutlass::library::NumericTypeID::kB1</a>, 
<a class="el" href="namespacecutlass_1_1library.html#a366ecc865ac5b24cfdfd392199ba8e9ea054401f7563f9941ed01d9edc32463a9">cutlass::library::NumericTypeID::kU4</a>, 
<br />
&#160;&#160;<a class="el" href="namespacecutlass_1_1library.html#a366ecc865ac5b24cfdfd392199ba8e9eaeda0b712c7690a5c8921fa54baad333e">cutlass::library::NumericTypeID::kU8</a>, 
<a class="el" href="namespacecutlass_1_1library.html#a366ecc865ac5b24cfdfd392199ba8e9ea9070b7eed719acaf36119d4a2835a230">cutlass::library::NumericTypeID::kU16</a>, 
<a class="el" href="namespacecutlass_1_1library.html#a366ecc865ac5b24cfdfd392199ba8e9ea4f2abe781a12702f9fbaea79fb6ba042">cutlass::library::NumericTypeID::kU32</a>, 
<a class="el" href="namespacecutlass_1_1library.html#a366ecc865ac5b24cfdfd392199ba8e9ea6256cfbcd370939b8454d9eca86b9d2a">cutlass::library::NumericTypeID::kU64</a>, 
<br />
&#160;&#160;<a class="el" href="namespacecutlass_1_1library.html#a366ecc865ac5b24cfdfd392199ba8e9eac8c65cd2ebe8cb959b1076fa84ca427f">cutlass::library::NumericTypeID::kS4</a>, 
<a class="el" href="namespacecutlass_1_1library.html#a366ecc865ac5b24cfdfd392199ba8e9ea2a2118fa682cf5f6467f9bf206710261">cutlass::library::NumericTypeID::kS8</a>, 
<a class="el" href="namespacecutlass_1_1library.html#a366ecc865ac5b24cfdfd392199ba8e9eaec6699c93da7f6a97f2e373a000a8c95">cutlass::library::NumericTypeID::kS16</a>, 
<a class="el" href="namespacecutlass_1_1library.html#a366ecc865ac5b24cfdfd392199ba8e9ea1a5add06fe973533afb668d19b754f7f">cutlass::library::NumericTypeID::kS32</a>, 
<br />
&#160;&#160;<a class="el" href="namespacecutlass_1_1library.html#a366ecc865ac5b24cfdfd392199ba8e9ea89ea7ef93f423e322d8ee8ed00731079">cutlass::library::NumericTypeID::kS64</a>, 
<a class="el" href="namespacecutlass_1_1library.html#a366ecc865ac5b24cfdfd392199ba8e9ea13a852aa20c7c1030c7d2588b5d799b6">cutlass::library::NumericTypeID::kF16</a>, 
<a class="el" href="namespacecutlass_1_1library.html#a366ecc865ac5b24cfdfd392199ba8e9ea941c992a0e3d2eb28203202730996ba2">cutlass::library::NumericTypeID::kF32</a>, 
<a class="el" href="namespacecutlass_1_1library.html#a366ecc865ac5b24cfdfd392199ba8e9ea5234930e162acb53b17e178221057319">cutlass::library::NumericTypeID::kF64</a>, 
<br />
&#160;&#160;<a class="el" href="namespacecutlass_1_1library.html#a366ecc865ac5b24cfdfd392199ba8e9ea733d7597a35d5a625f63abc4c22c1963">cutlass::library::NumericTypeID::kCF16</a>, 
<a class="el" href="namespacecutlass_1_1library.html#a366ecc865ac5b24cfdfd392199ba8e9ea049a4a1b2e2226de16f7afb8b462d6b1">cutlass::library::NumericTypeID::kCF32</a>, 
<a class="el" href="namespacecutlass_1_1library.html#a366ecc865ac5b24cfdfd392199ba8e9ea77c8ce656c23d1eef73e87aa1298395c">cutlass::library::NumericTypeID::kCF64</a>, 
<a class="el" href="namespacecutlass_1_1library.html#a366ecc865ac5b24cfdfd392199ba8e9eaa5934f63754a6ad442d40051bddcd68a">cutlass::library::NumericTypeID::kCS4</a>, 
<br />
&#160;&#160;<a class="el" href="namespacecutlass_1_1library.html#a366ecc865ac5b24cfdfd392199ba8e9ea83f535bd01efd735f598d7879217e7c1">cutlass::library::NumericTypeID::kCS8</a>, 
<a class="el" href="namespacecutlass_1_1library.html#a366ecc865ac5b24cfdfd392199ba8e9ea5858a55c4aa43e6e37e7cb3bfe4ca07c">cutlass::library::NumericTypeID::kCS16</a>, 
<a class="el" href="namespacecutlass_1_1library.html#a366ecc865ac5b24cfdfd392199ba8e9eabfddfc16d664dfb08a56c922edd88f78">cutlass::library::NumericTypeID::kCS32</a>, 
<a class="el" href="namespacecutlass_1_1library.html#a366ecc865ac5b24cfdfd392199ba8e9eabd2f3d659ac172c463db4ab85a36ee7e">cutlass::library::NumericTypeID::kCS64</a>, 
<br />
&#160;&#160;<a class="el" href="namespacecutlass_1_1library.html#a366ecc865ac5b24cfdfd392199ba8e9eac040b78d1c3efc67f367c87f4c03c95f">cutlass::library::NumericTypeID::kCU4</a>, 
<a class="el" href="namespacecutlass_1_1library.html#a366ecc865ac5b24cfdfd392199ba8e9eaf49f96620bd9a8b0776da07dc7265a3e">cutlass::library::NumericTypeID::kCU8</a>, 
<a class="el" href="namespacecutlass_1_1library.html#a366ecc865ac5b24cfdfd392199ba8e9eacb496889062efad8506521307e5c5755">cutlass::library::NumericTypeID::kCU16</a>, 
<a class="el" href="namespacecutlass_1_1library.html#a366ecc865ac5b24cfdfd392199ba8e9ea9147149d838743a40fbef0fbf12a68e3">cutlass::library::NumericTypeID::kCU32</a>, 
<br />
&#160;&#160;<a class="el" href="namespacecutlass_1_1library.html#a366ecc865ac5b24cfdfd392199ba8e9ea50769a687d9fa6f71dcb71328e2de995">cutlass::library::NumericTypeID::kCU64</a>, 
<a class="el" href="namespacecutlass_1_1library.html#a366ecc865ac5b24cfdfd392199ba8e9eab10913c938482a8aa4ba85b7a1116cb4">cutlass::library::NumericTypeID::kInvalid</a>
<br />
 }<tr class="memdesc:a366ecc865ac5b24cfdfd392199ba8e9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Numeric data type.  <a href="namespacecutlass_1_1library.html#a366ecc865ac5b24cfdfd392199ba8e9e">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:a366ecc865ac5b24cfdfd392199ba8e9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2b27589531eec608a86cf43a36c4175"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#aa2b27589531eec608a86cf43a36c4175">cutlass::library::ComplexTransform</a> { <a class="el" href="namespacecutlass_1_1library.html#aa2b27589531eec608a86cf43a36c4175a35c3ace1970663a16e5c65baa5941b13">cutlass::library::ComplexTransform::kNone</a>, 
<a class="el" href="namespacecutlass_1_1library.html#aa2b27589531eec608a86cf43a36c4175a8be1522542c86e700b5e787b1aabc70b">cutlass::library::ComplexTransform::kConjugate</a>
 }<tr class="memdesc:aa2b27589531eec608a86cf43a36c4175"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeraed type describing a transformation on a complex value.  <a href="namespacecutlass_1_1library.html#aa2b27589531eec608a86cf43a36c4175">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:aa2b27589531eec608a86cf43a36c4175"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae609b16f8fa78f39136fc0a9802e4459"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#ae609b16f8fa78f39136fc0a9802e4459">cutlass::library::OperationKind</a> { <a class="el" href="namespacecutlass_1_1library.html#ae609b16f8fa78f39136fc0a9802e4459a35c087a4c81dc032460aeba0b062add7">cutlass::library::OperationKind::kGemm</a>, 
<a class="el" href="namespacecutlass_1_1library.html#ae609b16f8fa78f39136fc0a9802e4459ab10913c938482a8aa4ba85b7a1116cb4">cutlass::library::OperationKind::kInvalid</a>
 }<tr class="memdesc:ae609b16f8fa78f39136fc0a9802e4459"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration indicating the kind of operation.  <a href="namespacecutlass_1_1library.html#ae609b16f8fa78f39136fc0a9802e4459">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ae609b16f8fa78f39136fc0a9802e4459"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4d69c13cb62d2ef63e1e5491a32caba"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#af4d69c13cb62d2ef63e1e5491a32caba">cutlass::library::ScalarPointerMode</a> { <a class="el" href="namespacecutlass_1_1library.html#af4d69c13cb62d2ef63e1e5491a32cabaaab2568040d6d4e966d109b5adf7f5175">cutlass::library::ScalarPointerMode::kHost</a>, 
<a class="el" href="namespacecutlass_1_1library.html#af4d69c13cb62d2ef63e1e5491a32cabaa040394711ad65e20323fe0114e507103">cutlass::library::ScalarPointerMode::kDevice</a>, 
<a class="el" href="namespacecutlass_1_1library.html#af4d69c13cb62d2ef63e1e5491a32cabaab10913c938482a8aa4ba85b7a1116cb4">cutlass::library::ScalarPointerMode::kInvalid</a>
 }<tr class="memdesc:af4d69c13cb62d2ef63e1e5491a32caba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration indicating whether scalars are in host or device memory.  <a href="namespacecutlass_1_1library.html#af4d69c13cb62d2ef63e1e5491a32caba">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:af4d69c13cb62d2ef63e1e5491a32caba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ccf134b261aafdde24f4185cf1ddda6"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#a5ccf134b261aafdde24f4185cf1ddda6">cutlass::library::SplitKMode</a> { <br />
&#160;&#160;<a class="el" href="namespacecutlass_1_1library.html#a5ccf134b261aafdde24f4185cf1ddda6a35c3ace1970663a16e5c65baa5941b13">cutlass::library::SplitKMode::kNone</a>, 
<a class="el" href="namespacecutlass_1_1library.html#a5ccf134b261aafdde24f4185cf1ddda6af54983ae8eb79e77ee6be2f8384e1cb1">cutlass::library::SplitKMode::kSerial</a>, 
<a class="el" href="namespacecutlass_1_1library.html#a5ccf134b261aafdde24f4185cf1ddda6a6fb3551e3657204372d76d2d9b83a3b9">cutlass::library::SplitKMode::kParallel</a>, 
<a class="el" href="namespacecutlass_1_1library.html#a5ccf134b261aafdde24f4185cf1ddda6ae7eba952d5752a5287bfa4b6831d44c0">cutlass::library::SplitKMode::kParallelSerial</a>, 
<br />
&#160;&#160;<a class="el" href="namespacecutlass_1_1library.html#a5ccf134b261aafdde24f4185cf1ddda6ab10913c938482a8aa4ba85b7a1116cb4">cutlass::library::SplitKMode::kInvalid</a>
<br />
 }<tr class="memdesc:a5ccf134b261aafdde24f4185cf1ddda6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Describes how reductions are performed across threadblocks.  <a href="namespacecutlass_1_1library.html#a5ccf134b261aafdde24f4185cf1ddda6">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:a5ccf134b261aafdde24f4185cf1ddda6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e7f08a7db0273b3da7cc7ec6188b95e"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#a6e7f08a7db0273b3da7cc7ec6188b95e">cutlass::library::OpcodeClassID</a> { <a class="el" href="namespacecutlass_1_1library.html#a6e7f08a7db0273b3da7cc7ec6188b95eab87fbce17f79757deb0ac8aee64dcecf">cutlass::library::OpcodeClassID::kSimt</a>, 
<a class="el" href="namespacecutlass_1_1library.html#a6e7f08a7db0273b3da7cc7ec6188b95eae2f60ea81883c37bdf80acf94ac9fdef">cutlass::library::OpcodeClassID::kTensorOp</a>, 
<a class="el" href="namespacecutlass_1_1library.html#a6e7f08a7db0273b3da7cc7ec6188b95ea4b5b8d90d96d36bc4c7ade9e31975a61">cutlass::library::OpcodeClassID::kWmmaTensorOp</a>, 
<a class="el" href="namespacecutlass_1_1library.html#a6e7f08a7db0273b3da7cc7ec6188b95eab10913c938482a8aa4ba85b7a1116cb4">cutlass::library::OpcodeClassID::kInvalid</a>
 }<tr class="memdesc:a6e7f08a7db0273b3da7cc7ec6188b95e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates the classificaition of the math instruction.  <a href="namespacecutlass_1_1library.html#a6e7f08a7db0273b3da7cc7ec6188b95e">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:a6e7f08a7db0273b3da7cc7ec6188b95e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a2c782ab9bf9e19f99fdfcaf7f1c182"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#a8a2c782ab9bf9e19f99fdfcaf7f1c182">cutlass::library::GemmKind</a> { <br />
&#160;&#160;<a class="el" href="namespacecutlass_1_1library.html#a8a2c782ab9bf9e19f99fdfcaf7f1c182a35c087a4c81dc032460aeba0b062add7">cutlass::library::GemmKind::kGemm</a>, 
<a class="el" href="namespacecutlass_1_1library.html#a8a2c782ab9bf9e19f99fdfcaf7f1c182abd41d9174652d6e7bbbcb457bb1b5582">cutlass::library::GemmKind::kBatched</a>, 
<a class="el" href="namespacecutlass_1_1library.html#a8a2c782ab9bf9e19f99fdfcaf7f1c182aafc9b058c0fa7b9d2556bbcdcc49a272">cutlass::library::GemmKind::kArray</a>, 
<a class="el" href="namespacecutlass_1_1library.html#a8a2c782ab9bf9e19f99fdfcaf7f1c182a13087f12cd5017f04f51a50fb7510ef0">cutlass::library::GemmKind::kPlanarComplex</a>, 
<br />
&#160;&#160;<a class="el" href="namespacecutlass_1_1library.html#a8a2c782ab9bf9e19f99fdfcaf7f1c182ae4505abd0106c859c2faf73bd8216162">cutlass::library::GemmKind::kPlanarComplexBatched</a>, 
<a class="el" href="namespacecutlass_1_1library.html#a8a2c782ab9bf9e19f99fdfcaf7f1c182ab10913c938482a8aa4ba85b7a1116cb4">cutlass::library::GemmKind::kInvalid</a>
<br />
 }<tr class="memdesc:a8a2c782ab9bf9e19f99fdfcaf7f1c182"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration indicating what kind of GEMM operation to perform.  <a href="namespacecutlass_1_1library.html#a8a2c782ab9bf9e19f99fdfcaf7f1c182">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:a8a2c782ab9bf9e19f99fdfcaf7f1c182"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:afd140a6d1d6a843abf778ba593a9264b"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:afd140a6d1d6a843abf778ba593a9264b"><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#afd140a6d1d6a843abf778ba593a9264b">cutlass::library::from_string</a> (std::string const &amp;)</td></tr>
<tr class="memdesc:afd140a6d1d6a843abf778ba593a9264b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lexical cast from string.  <a href="namespacecutlass_1_1library.html#afd140a6d1d6a843abf778ba593a9264b">More...</a><br /></td></tr>
<tr class="separator:afd140a6d1d6a843abf778ba593a9264b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa76f3f4f836456dec66cb6c7d9fdea1c"><td class="memItemLeft" align="right" valign="top">char const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#aa76f3f4f836456dec66cb6c7d9fdea1c">cutlass::library::to_string</a> (OperationKind type, bool pretty=false)</td></tr>
<tr class="memdesc:aa76f3f4f836456dec66cb6c7d9fdea1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a NumericType enumerant to a string.  <a href="namespacecutlass_1_1library.html#aa76f3f4f836456dec66cb6c7d9fdea1c">More...</a><br /></td></tr>
<tr class="separator:aa76f3f4f836456dec66cb6c7d9fdea1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80d2fabcc7152472d6dc6885c55f7d7d"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:a80d2fabcc7152472d6dc6885c55f7d7d"><td class="memTemplItemLeft" align="right" valign="top">OperationKind&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#a80d2fabcc7152472d6dc6885c55f7d7d">cutlass::library::from_string&lt; OperationKind &gt;</a> (std::string const &amp;str)</td></tr>
<tr class="memdesc:a80d2fabcc7152472d6dc6885c55f7d7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parses a NumericType enumerant from a string.  <a href="namespacecutlass_1_1library.html#a80d2fabcc7152472d6dc6885c55f7d7d">More...</a><br /></td></tr>
<tr class="separator:a80d2fabcc7152472d6dc6885c55f7d7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1ed197369be7f4f938a923dfa2baa63"><td class="memItemLeft" align="right" valign="top">char const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#af1ed197369be7f4f938a923dfa2baa63">cutlass::library::to_string</a> (NumericTypeID type, bool pretty=false)</td></tr>
<tr class="memdesc:af1ed197369be7f4f938a923dfa2baa63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a NumericType enumerant to a string.  <a href="namespacecutlass_1_1library.html#af1ed197369be7f4f938a923dfa2baa63">More...</a><br /></td></tr>
<tr class="separator:af1ed197369be7f4f938a923dfa2baa63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a197f9c916d053d7e44af6155ef4f211a"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:a197f9c916d053d7e44af6155ef4f211a"><td class="memTemplItemLeft" align="right" valign="top">NumericTypeID&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#a197f9c916d053d7e44af6155ef4f211a">cutlass::library::from_string&lt; NumericTypeID &gt;</a> (std::string const &amp;str)</td></tr>
<tr class="memdesc:a197f9c916d053d7e44af6155ef4f211a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parses a NumericType enumerant from a string.  <a href="namespacecutlass_1_1library.html#a197f9c916d053d7e44af6155ef4f211a">More...</a><br /></td></tr>
<tr class="separator:a197f9c916d053d7e44af6155ef4f211a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a743285b8574e01ab265a3da2ec2ad692"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#a743285b8574e01ab265a3da2ec2ad692">cutlass::library::sizeof_bits</a> (NumericTypeID type)</td></tr>
<tr class="memdesc:a743285b8574e01ab265a3da2ec2ad692"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the size of a data type in bits.  <a href="namespacecutlass_1_1library.html#a743285b8574e01ab265a3da2ec2ad692">More...</a><br /></td></tr>
<tr class="separator:a743285b8574e01ab265a3da2ec2ad692"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e482a44409bec8aaf937197ae5f9efe"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#a4e482a44409bec8aaf937197ae5f9efe">cutlass::library::is_complex_type</a> (NumericTypeID type)</td></tr>
<tr class="memdesc:a4e482a44409bec8aaf937197ae5f9efe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the numeric type is a complex data type or false if real-valued.  <a href="namespacecutlass_1_1library.html#a4e482a44409bec8aaf937197ae5f9efe">More...</a><br /></td></tr>
<tr class="separator:a4e482a44409bec8aaf937197ae5f9efe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2df8b6d69abaec81960fa2fde0635fd7"><td class="memItemLeft" align="right" valign="top">NumericTypeID&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#a2df8b6d69abaec81960fa2fde0635fd7">cutlass::library::get_real_type</a> (NumericTypeID type)</td></tr>
<tr class="memdesc:a2df8b6d69abaec81960fa2fde0635fd7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the real-valued type underlying a type (only different from 'type' if complex)  <a href="namespacecutlass_1_1library.html#a2df8b6d69abaec81960fa2fde0635fd7">More...</a><br /></td></tr>
<tr class="separator:a2df8b6d69abaec81960fa2fde0635fd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a337774fa89835c7c6df8847125ef6270"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#a337774fa89835c7c6df8847125ef6270">cutlass::library::is_integer_type</a> (NumericTypeID type)</td></tr>
<tr class="memdesc:a337774fa89835c7c6df8847125ef6270"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if numeric type is integer.  <a href="namespacecutlass_1_1library.html#a337774fa89835c7c6df8847125ef6270">More...</a><br /></td></tr>
<tr class="separator:a337774fa89835c7c6df8847125ef6270"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a822e49a94b4afd8a13de062ba8c2e6e1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#a822e49a94b4afd8a13de062ba8c2e6e1">cutlass::library::is_signed_type</a> (NumericTypeID type)</td></tr>
<tr class="memdesc:a822e49a94b4afd8a13de062ba8c2e6e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if numeric type is signed.  <a href="namespacecutlass_1_1library.html#a822e49a94b4afd8a13de062ba8c2e6e1">More...</a><br /></td></tr>
<tr class="separator:a822e49a94b4afd8a13de062ba8c2e6e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96f3d4ab6f064bf86383e0588157461f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#a96f3d4ab6f064bf86383e0588157461f">cutlass::library::is_signed_integer</a> (NumericTypeID type)</td></tr>
<tr class="memdesc:a96f3d4ab6f064bf86383e0588157461f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if numeric type is a signed integer.  <a href="namespacecutlass_1_1library.html#a96f3d4ab6f064bf86383e0588157461f">More...</a><br /></td></tr>
<tr class="separator:a96f3d4ab6f064bf86383e0588157461f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd95988717dbbe755eafad568e59af3c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#afd95988717dbbe755eafad568e59af3c">cutlass::library::is_unsigned_integer</a> (NumericTypeID type)</td></tr>
<tr class="memdesc:afd95988717dbbe755eafad568e59af3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns true if numeric type is an unsigned integer  <a href="namespacecutlass_1_1library.html#afd95988717dbbe755eafad568e59af3c">More...</a><br /></td></tr>
<tr class="separator:afd95988717dbbe755eafad568e59af3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc084e96857cb1dcc48b50cd134c80c8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#adc084e96857cb1dcc48b50cd134c80c8">cutlass::library::is_float_type</a> (NumericTypeID type)</td></tr>
<tr class="memdesc:adc084e96857cb1dcc48b50cd134c80c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if numeric type is floating-point type.  <a href="namespacecutlass_1_1library.html#adc084e96857cb1dcc48b50cd134c80c8">More...</a><br /></td></tr>
<tr class="separator:adc084e96857cb1dcc48b50cd134c80c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36f1bc2b159bb8546adcc896bf1a2a02"><td class="memItemLeft" align="right" valign="top">char const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#a36f1bc2b159bb8546adcc896bf1a2a02">cutlass::library::to_string</a> (Status status, bool pretty=false)</td></tr>
<tr class="memdesc:a36f1bc2b159bb8546adcc896bf1a2a02"><td class="mdescLeft">&#160;</td><td class="mdescRight">To string method for <a class="el" href="namespacecutlass.html#ac5a88c5840a28a9e0206b9cc7812a18d" title="Status code returned by CUTLASS operations. ">cutlass::Status</a>.  <a href="namespacecutlass_1_1library.html#a36f1bc2b159bb8546adcc896bf1a2a02">More...</a><br /></td></tr>
<tr class="separator:a36f1bc2b159bb8546adcc896bf1a2a02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61e2ca63a2d5c85e32e3e8036b740c49"><td class="memItemLeft" align="right" valign="top">char const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#a61e2ca63a2d5c85e32e3e8036b740c49">cutlass::library::to_string</a> (LayoutTypeID layout, bool pretty=false)</td></tr>
<tr class="memdesc:a61e2ca63a2d5c85e32e3e8036b740c49"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a LayoutTypeID enumerant to a string.  <a href="namespacecutlass_1_1library.html#a61e2ca63a2d5c85e32e3e8036b740c49">More...</a><br /></td></tr>
<tr class="separator:a61e2ca63a2d5c85e32e3e8036b740c49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47a7cb0c24191de74f00d8be5787e939"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:a47a7cb0c24191de74f00d8be5787e939"><td class="memTemplItemLeft" align="right" valign="top">LayoutTypeID&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#a47a7cb0c24191de74f00d8be5787e939">cutlass::library::from_string&lt; LayoutTypeID &gt;</a> (std::string const &amp;str)</td></tr>
<tr class="memdesc:a47a7cb0c24191de74f00d8be5787e939"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parses a LayoutType enumerant from a string.  <a href="namespacecutlass_1_1library.html#a47a7cb0c24191de74f00d8be5787e939">More...</a><br /></td></tr>
<tr class="separator:a47a7cb0c24191de74f00d8be5787e939"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e5daea2574b65b0b5651b441fd4e352"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#a6e5daea2574b65b0b5651b441fd4e352">cutlass::library::get_layout_stride_rank</a> (LayoutTypeID layout_id)</td></tr>
<tr class="memdesc:a6e5daea2574b65b0b5651b441fd4e352"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the rank of a layout's stride base on the LayoutTypeID.  <a href="namespacecutlass_1_1library.html#a6e5daea2574b65b0b5651b441fd4e352">More...</a><br /></td></tr>
<tr class="separator:a6e5daea2574b65b0b5651b441fd4e352"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f477a5ae2263f51f283325654d32879"><td class="memItemLeft" align="right" valign="top">char const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#a3f477a5ae2263f51f283325654d32879">cutlass::library::to_string</a> (OpcodeClassID type, bool pretty=false)</td></tr>
<tr class="memdesc:a3f477a5ae2263f51f283325654d32879"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a OpcodeClassID enumerant to a string.  <a href="namespacecutlass_1_1library.html#a3f477a5ae2263f51f283325654d32879">More...</a><br /></td></tr>
<tr class="separator:a3f477a5ae2263f51f283325654d32879"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afceeff02431874a5d43d23a7da1dcb72"><td class="memTemplParams" colspan="2">template&lt;&gt; </td></tr>
<tr class="memitem:afceeff02431874a5d43d23a7da1dcb72"><td class="memTemplItemLeft" align="right" valign="top">OpcodeClassID&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#afceeff02431874a5d43d23a7da1dcb72">cutlass::library::from_string&lt; OpcodeClassID &gt;</a> (std::string const &amp;str)</td></tr>
<tr class="memdesc:afceeff02431874a5d43d23a7da1dcb72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a OpcodeClassID enumerant from a string.  <a href="namespacecutlass_1_1library.html#afceeff02431874a5d43d23a7da1dcb72">More...</a><br /></td></tr>
<tr class="separator:afceeff02431874a5d43d23a7da1dcb72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea6a97c560e5b9ce28e1d7d7e02693c8"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#aea6a97c560e5b9ce28e1d7d7e02693c8">cutlass::library::lexical_cast</a> (int64_t int_value)</td></tr>
<tr class="memdesc:aea6a97c560e5b9ce28e1d7d7e02693c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lexical cast from int64_t to string.  <a href="namespacecutlass_1_1library.html#aea6a97c560e5b9ce28e1d7d7e02693c8">More...</a><br /></td></tr>
<tr class="separator:aea6a97c560e5b9ce28e1d7d7e02693c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54650c15cf7dbf360f5b9485bf0985b3"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#a54650c15cf7dbf360f5b9485bf0985b3">cutlass::library::lexical_cast</a> (std::vector&lt; uint8_t &gt; &amp;bytes, NumericTypeID type, std::string const &amp;str)</td></tr>
<tr class="memdesc:a54650c15cf7dbf360f5b9485bf0985b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lexical cast a string to a byte array. Returns true if cast is successful or false if invalid.  <a href="namespacecutlass_1_1library.html#a54650c15cf7dbf360f5b9485bf0985b3">More...</a><br /></td></tr>
<tr class="separator:a54650c15cf7dbf360f5b9485bf0985b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7bfeb2df6bb55b1b68af55f52d88477"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#ac7bfeb2df6bb55b1b68af55f52d88477">cutlass::library::lexical_cast</a> (std::vector&lt; uint8_t &gt; &amp;bytes, NumericTypeID type)</td></tr>
<tr class="memdesc:ac7bfeb2df6bb55b1b68af55f52d88477"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lexical cast TO a string FROM a byte array. Returns true if cast is successful or false if invalid.  <a href="namespacecutlass_1_1library.html#ac7bfeb2df6bb55b1b68af55f52d88477">More...</a><br /></td></tr>
<tr class="separator:ac7bfeb2df6bb55b1b68af55f52d88477"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b8493aa442c2c23aa57234c4e928660"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#a0b8493aa442c2c23aa57234c4e928660">cutlass::library::cast_from_int64</a> (std::vector&lt; uint8_t &gt; &amp;bytes, NumericTypeID type, int64_t src)</td></tr>
<tr class="memdesc:a0b8493aa442c2c23aa57234c4e928660"><td class="mdescLeft">&#160;</td><td class="mdescRight">Casts from a signed int64 to the destination type. Returns true if successful.  <a href="namespacecutlass_1_1library.html#a0b8493aa442c2c23aa57234c4e928660">More...</a><br /></td></tr>
<tr class="separator:a0b8493aa442c2c23aa57234c4e928660"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa997284cf98e50d99e48516f91a96c08"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#aa997284cf98e50d99e48516f91a96c08">cutlass::library::cast_from_uint64</a> (std::vector&lt; uint8_t &gt; &amp;bytes, NumericTypeID type, uint64_t src)</td></tr>
<tr class="memdesc:aa997284cf98e50d99e48516f91a96c08"><td class="mdescLeft">&#160;</td><td class="mdescRight">Casts from an unsigned int64 to the destination type. Returns true if successful.  <a href="namespacecutlass_1_1library.html#aa997284cf98e50d99e48516f91a96c08">More...</a><br /></td></tr>
<tr class="separator:aa997284cf98e50d99e48516f91a96c08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f25bb70b92aa865148c22d4cffcaa37"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecutlass_1_1library.html#a5f25bb70b92aa865148c22d4cffcaa37">cutlass::library::cast_from_double</a> (std::vector&lt; uint8_t &gt; &amp;bytes, NumericTypeID type, double src)</td></tr>
<tr class="memdesc:a5f25bb70b92aa865148c22d4cffcaa37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Casts from a real value represented as a double to the destination type. Returns true if successful.  <a href="namespacecutlass_1_1library.html#a5f25bb70b92aa865148c22d4cffcaa37">More...</a><br /></td></tr>
<tr class="separator:a5f25bb70b92aa865148c22d4cffcaa37"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Generally,</p>
<p>description - compile-time constant parameters used to instantiate an operation</p>
<p>configuration - runtime parameters with computationally expensive initialization</p>
<p>arguments - runtime parameters that may be passed to an initialized operation with low computational overhead </p>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>
